// 公共基类
let BaseClass = {
    id: "",
    name: "",
    title: "",
    // 看板跳转
    contactType: 0,
    url: "",
    boardId: "",
    // end
    draggable: false,   //禁用拖拽
    type: "",
    hideCard: false,    // 是否隐藏显示
    asName: "", // 新增别名
    style: {},
    isShowTitle: false,
}
let StyleClass = () => {
    return {
        left: 0,
        top: 0,
        width: 400,
        height: 200,
        color: "",
        zIndex: 0,
        fontSize: 16,
        justifyContent: "flex-start",
        alignItems: "flex-start",
        borderColor: "",
        borderWidth: 0,
        backgroundColor: "",
        backgroundImage: "",
        borderRadius: 0,
        fontWeight: '',
        fontStyle: '',
        boxShadow: {
            h: 0,
            v: 0,
            blur: 0,
            spreed: 0,
            color: "",
        },
        bgcolorType: "single", // 单色 single, 图片 image / 渐变 gradient
        gradient: {
            colorStart: "#ffffff",
            colorEnd: "#4AA8FF",
            fontAngle: 0,
            letterSpacing: 0,
            isRadial: false,
        },
    }
};
let TableDataClass = {
    tableId: "",    //表格id
    type: 0,    // 表格类型
    reloadTime: 60,  // 设置组件自动刷新倒计时 /s
    filterTimeType: 1, // 15-默认15天、1-一天、7-七天、30-三十天、99-全部    
    isOnlie: false,
    colorId: "1",
    colors: null,
}

export default {
    // #region 基础组件
    // 摄像头
    CameraClass: () => {
        return Object.assign({}, BaseClass, {
            name: "摄像头",
            url: "",
            videoType: 0,
            style: Object.assign({}, StyleClass(), {
                width: 600,
                height: 400
            })
        })
    },
    // 视频
    VideoPlayClass: () => {
        return Object.assign({}, BaseClass, {
            name: "视频",
            videoList: [
                {
                    id: 0,
                    url: "",
                }
            ],
            videoPlayType: [1, 2],
            videoPlayGroup: 1,
            timeOut: 5,
            style: Object.assign({}, StyleClass(), {
                width: 600,
                height: 400
            })
        })
    },
    // 文本
    SignalClass: () => {
        return Object.assign({}, BaseClass, {
            name: "标题",
            title: "标题",
            colorType: "single", // 单色 single / 渐变 gradient
            isShupai: false,
            // 渐变色
            gradient: {
                colorStart: "#ffffff",
                colorEnd: "#4AA8FF",
                fontAngle: 0,
                letterSpacing: 0,
                isRadial: false,
            },
            style: Object.assign({}, StyleClass(), {
                width: 400,
                height: 100,
                justifyContent: "center",
                alignItems: "center",
                fontFamily: "normal",
                fontAngle: 0,
                colorStart: "#ffffff",
                colorEnd: "#4AA8FF",
                letterSpacing: 0,
            })
        })
    },
    ContextClass: () => {
        return Object.assign({}, BaseClass, {
            name: "文本",
            title: "文本",
            style: Object.assign({}, StyleClass(), {
                width: 300,
                height: 300,
            })
        })
    },
    // 时间
    TimeClass: () => {
        return Object.assign({}, BaseClass, {
            name: "时间",
            timeType: 1,
            groupline: false,
            style: Object.assign({}, StyleClass(), {
                justifyContent: "center",
                alignItems: "center",
            })
        })
    },
    // 嵌入网页或看板
    EmbedClass: () => {
        return Object.assign({}, BaseClass, {
            name: "嵌入",
            webUrl: "",
            iframeType: 1,
            iframeBoardId: "",
            style: Object.assign({}, StyleClass())
        })
    },
    // 图片组件
    CardImgClass: () => {
        return Object.assign({}, BaseClass, {
            name: "图片",
            cardImgData: {
                id: "",
                url: "",
                // contactType: 0,
                boardId: "",
            },
            fillType: 0, // 填充方式 0-拉伸、1-适应 
            libraryUrl: "",
            opacity: 1,
            style: Object.assign({}, StyleClass(), {
                width: 200,
                height: 200
            })
        })
    },
    // pdf文件
    FileDataClass: () => {
        return Object.assign({}, BaseClass, {
            name: "文件",
            fileId: 0,
            fileUrl: "",
            style: Object.assign({}, StyleClass(), {
                width: 400,
                height: 600
            })
        })
    },
    TabSwitchClass: () => {
        return Object.assign({}, BaseClass, {
            name: "组件切换",
            tableData: {
                colums: [
                    {
                        text: "",
                        id: [],
                        active: true,
                    }
                ],
                // 菜单样式
                menu: {
                    margin: 0,
                    position: 'heng',
                    fontSize: 15,
                    color: "#666666",
                    backgroundColor: "",
                    fontWeight: '',
                    fontStyle: '',
                    borderWidth: 1,
                    borderColor: '#666666',
                    backgroundImage: "",
                    // 自动切换
                    isAuto: false,
                    speed: 10,
                },
                activeMenu: {
                    fontSize: 15,
                    color: "#666666",
                    backgroundColor: "",
                    fontWeight: '',
                    fontStyle: '',
                    borderWidth: 1,
                    borderColor: '#666666',
                    backgroundImage: "",
                }
            },
            style: Object.assign({}, StyleClass())
        })
    },
    // 线条
    LineFigureClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "线条",
            group: 0,   // 0：直线 1：曲线
            weight: 1,
            color: ksin.color,
            rotate: 0,   //旋转角度
            shuxiang: false, // 是否竖向
            style: Object.assign({}, StyleClass())
        })
    },
    // 图形
    FigureClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "图形",
            group: undefined,   // 0：直线 1：曲线
            color: ksin.color,
            rotate: 0,          //旋转角度
            isNull: false,
            size: 30,
            iconClass: "el-icon-info",
            textShadow: {
                h: 0,
                v: 0,
                blur: 0,
                color: "",
            },
            style: Object.assign({}, StyleClass(), {
                width: 150,
                height: 150,
            })
        })
    },
    // 倒计时
    TimeOutClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "倒计时",
            timeType: 1,
            timeCount: 12,
            timeOutSize: 16,
            timeOutColor: ksin.cardFontColor,
            timeOutStyle: "",
            timeOutWeight: "",
            startTime: "",
            dateTimeSize: 14,
            dateTimeColor: ksin.cardFontColor,
            dateTimeStyle: "",
            dateTimeWeight: "",
            bgColor1: "",
            bgColor2: "",
            isTwinkle: false,
            isClose: false,
            style: Object.assign({}, StyleClass())
        })
    },
    DateSearchClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "日期查询",
            group: 0,   // 查询范围 0：日 1：月
            title: "时间范围",
            // color: ksin.color,
            // beginTime: "",
            // endTime: "",
            size: "small",
            bindIds: [],
            style: Object.assign({}, StyleClass(), {
                width: 620,
            })
        })
    },
    // #endregion

    // #region 数据展示

    // K线图
    CandlestickClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "K线图",
            title: "K线图",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.cardFontColor,
                lineColor: ksin.cardLine,
                isSetTranslate: false,
                count: 10,
                xId: "",
                isShowValue: true, // 显示label
                barList: [
                    {
                        id: "",
                        name: "最高值"
                    },
                    {
                        id: "",
                        name: "最低值"
                    },
                    {
                        id: "",
                        name: "上限值"
                    },
                    {
                        id: "",
                        name: "下限值"
                    }
                ],
                minSize: 0,
                maxSize: 100,
                isShowGrid: true,
                decimal: 0,
                // valuefontSize: 14,
                // valueColor: ksin.color,
                // valueFontWeight: "",
                // valueFontStyle: "",
                // // 新增属性
                // lablePosition: '', // 标签位置
                // textfontSize: 14,
                // textColor: ksin.color,
                // textFontWeight: "",
                // textFontStyle: "",
                // isShowValue: false, // 显示数值
                // isShowLegend: true,    // 显示图例
                // icon: 'circle',
                // // textRotate: 0, // 文字旋转
                // showBackground: false,
                // backgroundStyleColor: 'rgba(180, 180, 180, 0.2)',
            })
        });
    },

    // 甘特图
    GantetuClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "甘特图",
            title: "甘特图",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.cardFontColor,
                lineColor: ksin.cardLine,
                count: 3,
                xId: "",
                isShowValue: true, // 显示label
                barList: [
                    {
                        beginTimeId: "",
                        endTimeId: "",
                        name: ""
                    },
                ],
                minSize: 0,
                maxSize: 100,
                isShowGrid: true,
                decimal: 0,
                // valuefontSize: 14,
                // valueColor: ksin.color,
                // valueFontWeight: "",
                // valueFontStyle: "",
                // // 新增属性
                // lablePosition: '', // 标签位置
                textfontSize: 14,
                textColor: ksin.color,
                textFontWeight: "",
                textFontStyle: "",
                // isShowValue: false, // 显示数值
                isShowLegend: true,    // 显示图例
                icon: 'circle',
            })
        });
    },

    // 表格资源
    TableFileClass: () => {
        return Object.assign({}, BaseClass, {
            name: "表格资源",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                colId: "",
                count: 5,
                timeSpeed: 5,
            })
        })
    },

    // 饼图
    PieClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "饼状图",
            title: "饼状图",
            style: Object.assign({}, StyleClass(), {
                height: 300,
                width: 500,
            }),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.color,
                yList: [],
                decimal: 2,
                valuefontSize: 14,
                valueColor: ksin.color,
                valueFontWeight: "",
                valueFontStyle: "",
                // 新增属性
                textfontSize: 14,
                textColor: ksin.color,
                textFontWeight: "",
                textFontStyle: "",
                isShowValue: false, // 显示数值
                isShowLine: false, // 显示引导线
                isCircleCenter: false, // 镂空圆心
                isNotWidth: false, // 不设tips置宽
                isRoseType: false, // 南丁格尔
                isShowLegend: true,    // 显示图例
                icon: 'circle',
                leftPosition: 2,    // 0 左 1 中 2 右
                topPosition: 1, // 0 上 1 中 1 下
                // 饼图尺寸 百分比
                minSize: 0,
                maxSize: 80,
                orient: "vertical", // vertical horizontal
                // itemStyle
                borderRadius: 0,
                borderColor: '',
                borderWidth: 0,
            })
        })
    },

    // 散点图
    ScatterClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "散点图",
            title: "散点图",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.cardFontColor,
                lineColor: ksin.cardLine,
                isSetTranslate: false,
                count: 5,
                xId: "",
                yList: [],
                minSize: 0,
                maxSize: 100,
                isShowValue: false,
                isShowGrid: true,
                decimal: 2,
                sizeBl: 1,
                // 图例
                textfontSize: 14,
                textColor: ksin.color,
                textFontWeight: "",
                textFontStyle: "",
                isShowLegend: true,    // 显示图例
                icon: 'circle',
            })
        })
    },

    // 折柱混合图
    LineBarMixinClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "折柱混合",
            title: "折柱混合",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.cardFontColor,
                lineColor: ksin.cardLine,
                isSetTranslate: false,
                count: 5,
                xId: "",
                isShowValue: true,
                barList: [
                    {
                        id: "", type: 1, color: "rgb(39, 161, 234)",
                        isSmooth: false, isAreaColor: false, areaColor: "", isShowSymbol: true,
                    }
                ],
                minSize: 0,
                maxSize: 100,
                yId: "",
                isShowGrid: true,
                decimal: 0,
                isShowRightY: false,    // 显示又测y轴
                rightColumeId: "",  // 又测y轴id
                isZong: false,
                valueType: 0,
            })
        });
    },

    // 柱状图
    BarClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "柱状图",
            title: "柱状图",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.cardFontColor,
                lineColor: ksin.cardLine,
                isSetTranslate: false,
                count: 10,
                xId: "",
                isShowValue: true, // 显示label
                barList: [
                    {
                        id: "", color: "rgb(39, 161, 234)",
                        // isSmooth: false, isAreaColor: false, areaColor: "", isShowSymbol: true,
                    }
                ],
                minSize: 0,
                maxSize: 100,
                isShowGrid: true,
                decimal: 0,
                isZong: false,
                iSstack: false, // 堆叠图
                valuefontSize: 14,
                valueColor: ksin.color,
                valueFontWeight: "",
                valueFontStyle: "",
                // 新增属性
                lablePosition: '', // 标签位置
                textfontSize: 14,
                textColor: ksin.color,
                textFontWeight: "",
                textFontStyle: "",
                isShowValue: false, // 显示数值
                isShowLegend: true,    // 显示图例
                icon: 'circle',
                // textRotate: 0, // 文字旋转
                showBackground: false,
                backgroundStyleColor: 'rgba(180, 180, 180, 0.2)',
            })
        });
    },
    // 百分比图
    RateClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "百分比图",
            title: "百分比图",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                itemId: "",
                maxNumber: 100,
                decimal: 2,
                valueColor: "#62d5b2",
                rateBackageColor: "#f1f7f5",
                styleTemplate: 0, // 样式模板Id
                fontColor: ksin.cardFontColor,
                fontSize: 30,
                fontWeight: '',
                fontStyle: '',
            })
        })
    },

    // 水位图
    LiquidFillClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "水位图",
            title: "水位图",
            style: Object.assign({}, StyleClass(), {
                height: 400,
            }),
            tableData: Object.assign({}, TableDataClass, {
                itemId: "",
                maxNumber: 100,
                decimal: 2,
                valueColor: "RGBA(51, 66, 127, 0.7)",
                rateBackageColor: "#446bf5",
                fontColor: ksin.cardFontColor,
                fontSize: 30,
                fontWeight: '',
                fontStyle: '',
            })
        })
    },
    // 表格
    CardTableClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "表格",
            // title: "表格",
            tableLayout: 'auto',
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                yList: [],
                isShowIndex: false,
                pageSize: 10,
                orderAsc: 0, // 排序 正序-1、倒序-0
                searchLineId: [],
                searchText: [],
            }),
            isHidePage: false, // 隐藏分页
            isExport: false,
            isSearch: false,
            size: "mini",
            hFontSize: 16,
            hFontColor: ksin.color,
            hFontWeight: '',
            hFontStyle: '',
        })
    },
    // 地图
    EchartMapClass: () => {
        return Object.assign({}, BaseClass, {
            name: "地图",
            title: "地图",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                maptype: 1,    // 地图类型
                nameid: "",
                valueid: "",
                itemid: [],
                isShowName: true,
                min: 0,
                max: 100,
                color1: "#eeeeee",
                color2: "#bfbfbf",
                borderColor: "#333",
                backgroundColor: "#eeeeee",
                hoverColor: "#ff0000",
                textColor: "#333",
                textfontSize: 14,
                textFontWeight: "",
                textFontStyle: "",
                isShowLine: false, // 显示引导线
            })
        })
    },
    NewMapClass: () => {
        return Object.assign({}, BaseClass, {
            name: "表格",
            title: "表格",
            urldataArray: {},
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                maptype: 1,    // 地图类型
                nameid: "",
                valueid: "",
                itemid: [],
                isShowName: true,
                min: 0,
                max: 100,
                color1: "#eeeeee",
                color2: "#bfbfbf",
                borderColor: "#333",
                backgroundColor: "#eeeeee",
                hoverColor: "#ff0000",
                textColor: "#333",
                textfontSize: 14,
                textFontWeight: "",
                textFontStyle: "",
                isShowLine: false, // 显示引导线
                // 新增属性
                addLineId: "",
                colums1Id: "",
                colums2Id: "",
                hightColor: "#666666",
                hightSize: 16,
                hightFontSize: 14,
                hightBackage: "#36e3ff",
            })
        })
    },
    NewMap2Class: () => {
        return Object.assign({}, BaseClass, {
            name: "表格",
            title: "表格",
            urldataArray: {},
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                maptype: 1,    // 地图类型
                nameid: "",
                valueid: "",
                itemid: [],
                isShowName: true,
                min: 0,
                max: 100,
                color1: "#eeeeee",
                color2: "#bfbfbf",
                borderColor: "#333",
                backgroundColor: "#eeeeee",
                hoverColor: "#ff0000",
                textColor: "#333",
                textfontSize: 14,
                textFontWeight: "",
                textFontStyle: "",
                isShowLine: false, // 显示引导线
                // 新增属性
                addLineId: "",
                colums: [{ id: "", text: "" }], // 设置数据列
                hightColor: "#666666",
                hightSize: 16,
                hightFontSize: 14,
                hightBackage: "#36e3ff",
                // 菜单样式
                menu: {
                    position: 'topleft',
                    fontSize: 15,
                    color: "#666666",
                    backgroundColor: "",
                    fontWeight: '',
                    fontStyle: '',
                    borderWidth: 0,
                    borderColor: '#666666',
                },
                activeMenu: {
                    fontSize: 15,
                    color: "#666666",
                    backgroundColor: "",
                    fontWeight: '',
                    fontStyle: '',
                    borderWidth: 0,
                    borderColor: '#666666',
                }
            })
        })
    },

    // 提交
    SubmitClass: () => {
        return Object.assign({}, BaseClass, {
            name: "提交",
            style: Object.assign({}, StyleClass(), {
                justifyContent: "center",
                alignItems: "center",
            }),
            tableData: Object.assign({}, TableDataClass, {
                checkedColums: [],
                isIndeterminate: false,
                checkAll: false,
                reloadType: 0, // 0-提交数据、 1-更新数据
            })
        });
    },

    // 卡片
    CardClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "卡片",
            style: Object.assign({}, StyleClass(), {
                justifyContent: "center",
                alignItems: "center",
            }),
            tableData: Object.assign({}, TableDataClass, {
                lineId: "",
                isShowValue: true,
                isBreakLine: false,
                decimal: 2,
                unit: "",
                valSize: 16,
                valColor: ksin.color,
                valFontWeight: '',
                valFontStyle: '',
                textSize: 16,
                textColor: ksin.color,
                textFontWeight: '',
                textFontStyle: '',
                // numberColor: ksin.color,
                // numberFontSize: 16,
                // unitColor: ksin.color,
                // unitFontSize: 16,
            })
        });
    },

    // 进度条
    ProgressClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "进度条",
            style: Object.assign({}, StyleClass(), {
                width: 400,
            }),
            tableData: Object.assign({}, TableDataClass, {
                fontColor: ksin.cardFontColor,
                itemId: "",
                maxNumber: 100,
                decimal: 2,
                valueColor: "#1991d2",
                rateBackageColor: "#1f2c52",
                fontSize: 30,
                fontWeight: '',
                fontStyle: '',
            })
        });
    },

    // 仪表盘
    NewGaugeClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "仪表盘",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                fontSize: 30,
                fontColor: "#1890FF",
                color: ksin.cardFontColor,
                itemId: "",
                minNumber: 0,
                maxNumber: 100,
                decimal: 2,
                valueColor: "#1991d2",
                styleTemplate: 0, // 样式模板Id
                fontWeight: "bold",
            })
        });
    },

    // 仪表盘
    GaugeClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "状态仪表盘",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                fontSize: 30,
                fontColor: ksin.cardFontColor,
                color: ksin.cardFontColor,
                itemId: "",
                maxNumber: 100,
                decimal: 2,
                valueColor: "#1991d2",
                rateBackageColor: "#1f2c52",
                statusList: [
                    { value: 0, value1: 100, color: "rgb(39, 161, 234)" }
                ],
                styleTemplate: 0, // 样式模板Id
            })
        });
    },

    // 时间进度
    TimeSpeedClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "时间进度",
            style: Object.assign({}, StyleClass(), {
                justifyContent: "center",
                alignItems: "center",
            }),
            tableData: Object.assign({}, TableDataClass, {
                startTime: "",
                endTime: "",
                dateId: "",
                valueId: "",
                endColor: "rgb(113,113,113)",
                dateTimeSize: 14,
                dateTimeColor: ksin.cardFontColor,
                dateTimeStyle: "",
                dateTimeWeight: "",
                status: [
                    { value1: 0, value2: 0, color: "rgb(39, 161, 234)" }
                ]
            })
        });
    },

    // 状态图
    StatusClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "状态图",
            style: Object.assign({}, StyleClass(), {
                justifyContent: "center",
                alignItems: "center",
                width: 200,
                height: 200,
            }),
            tableData: Object.assign({}, TableDataClass, {
                lineId: "",
                isShowValue: true,
                isShowText: false,
                isBreakLine: false,
                decimal: 2,
                statusList: [
                    {
                        value: 300, color: ksin.color, backgroundColor: ksin.cardBackground, valSize: 16, valColor: ksin.color, valFontWeight: '', valFontStyle: '',
                        text: "", textSize: 16, textColor: ksin.color, textFontWeight: '', textFontStyle: '',
                        backgroundImage: "",
                        isTwinkle: false,
                        bgType: 0, // 0-图片，1-图标
                        iconGroup: "",
                        iconColor: ksin.color,
                        isNull: false, // 是否镂空
                        twinkleType: 0, // 闪烁类型 0-背景、1-图形
                        // 线条
                        rotate: 0,
                        shuxiang: false,
                        weight: 1,
                        textShadow: {
                            h: 0,
                            v: 0,
                            blur: 0,
                            color: "",
                        },
                    }
                ],
                showType: 2,
                unit: "",
                unitSize: 16,
                unitColor: ksin.color,
                unitFontWeight: '',
                unitFontStyle: '',
                shanTime: 0.5,
            })
        });
    },

    // 状态组合
    StatusGroupClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "状态组合",
            style: Object.assign({}, StyleClass(), {
                justifyContent: "center",
                alignItems: "flex-end",
                width: 600,
                height: 300,
                backgroundColor: "",
            }),
            tableData: Object.assign({}, TableDataClass, {
                count: 0,
                lines: 3,
                rows: 4,
                selectedIndex: -1,
                lineWidth: 5,
                defautlBGColor: ksin.cardBackground,
                defaultColor: ksin.color,
                startLine: "",
                endLine: "",
                isSerialize: false,
                isReplace: false,
                // 批量设置默认参数
                replaceData:
                {
                    title: "",
                    lineId: "",
                    isShowValue: true,
                    isShowText: false,
                    isBreakLine: false,
                    decimal: 2,
                    value: 0,
                    statusList: [
                        {
                            value: 300, color: ksin.color, backgroundColor: ksin.cardBackground, valSize: 16, valColor: ksin.color, valFontWeight: '', valFontStyle: '',
                            text: "", textSize: 16, textColor: ksin.color, textFontWeight: '', textFontStyle: '',
                            backgroundImage: "",
                            isTwinkle: false,
                            bgType: 0, // 0-图片，1-图标
                            iconGroup: "",
                            iconColor: ksin.color,
                            isNull: false, // 是否镂空
                        }
                    ],
                    showType: 2,
                    unit: "",
                    unitSize: 16,
                    unitColor: ksin.color,
                    unitFontWeight: '',
                    unitFontStyle: '',
                    style: {
                        fontSize: 16,
                        justifyContent: "center",
                        alignItems: "center",
                        borderColor: "",
                        borderWidth: 0,
                        color: ksin.color,
                        backgroundColor: ksin.cardBackground,
                        backgroundImage: "",
                        borderRadius: 0,
                        fontWeight: '',
                        fontStyle: '',
                    }

                }, group: [],
            })
        });
    },

    // 要素管理
    ElementClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "要素管理",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                itemIds: [],
                pageSize: 10,
            }),
            isAdd: true,
            isEdit: true,
            isExport: false,
            isSearch: true,
            size: "mini",
            isHidePage: false, // 隐藏分页
        });
    },

    // 雷达图
    RadarClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "雷达图",
            title: "雷达图",
            style: Object.assign({}, StyleClass(), {
                width: 400,
                height: 400,
            }),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.cardFontColor,
                lineColor: ksin.cardLine,
                count: 1,
                xId: "",
                // isShowValue: true, // 显示label
                barList: [
                    { id: "", name: "", max: 100, },
                    { id: "", name: "", max: 100, },
                    { id: "", name: "", max: 100, }
                ],
                // 小圆点
                symbol: "circle",
                // 数值
                decimal: 0,
                valuefontSize: 14,
                valueColor: ksin.color,
                valueFontWeight: "",
                valueFontStyle: "",
                isShowValue: false, // 显示数值
                // 图例
                textfontSize: 14,
                textColor: ksin.color,
                textFontWeight: "",
                textFontStyle: "",
                isShowLegend: true,    // 显示图例
                icon: 'circle',
            })
        });
    },

    // #endregion

    Grid3DClass: (ksin) => {
        return Object.assign({}, BaseClass, {
            name: "三维折线图",
            style: Object.assign({}, StyleClass()),
            tableData: Object.assign({}, TableDataClass, {
                color: ksin.cardFontColor,
                lineColor: ksin.cardLine,
                count: 5,
                barList: [
                    {
                        // tableId: "",
                        name: "",   //数据名称
                        xLineId: "",
                        yLineId: "",
                        zLineId: "",
                        lineColor: "rgb(39, 161, 234)",
                    }
                ],
                xAxisName: "x",
                yAxisName: "y",
                zAxisName: "z",
                lineWidth: 4,
                isShowGrid: true,
                isNumberScope: true,
                fwData: [{ min: 0, max: 10, }, { min: 0, max: 10, }, { min: 0, max: 10, }]
            }),
        });
    }

}